import request from '@/utils/request'
import axios from 'axios'
import { getToken } from '@/utils/auth'

export function getChildMenus(params) { // 获取三层列表
  return request({
    // url: '/api/mesMenu/getChildMenus',
    url: '/api/menus',
    method: 'get',
    params
  })
}

export function getDict(params) { // 获取统计数据
  return request({
    url: '/api/dict',
    method: 'get',
    params
  })
}

export function mesPageConfig(data, type) { // 获取已生成页面列表
  console.log(data, type)

  const url1 = !type ? '/mesPageConfig/queryAllByCriterias' : '/mesPageConfig'

  return request({
    url: '/api' + url1,
    method: type,
    params: !type ? data : {},
    data
  })
}

export function genCustom(data, name, type) { // 生成页面
  return request({
    url: `/api/genCustom/${name}/${type}`,
    method: 'post',
    data,
    responseType: 'blob'
  })
}
export function mesTemplateConfig(params) { // 获取组件配置
  return request({
    url: '/api/mesTemplateConfig',
    method: 'get',
    params
  })
}

const service = axios.create({
  baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BASE_API : '/', // api 的 base_url
  timeout: 10000 // 请求超时时间
})
// request拦截器
service.interceptors.request.use(
  config => {
    if (getToken()) {
      config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
    }
    config.headers['Content-Type'] = 'multipart/form-data'
    return config
  },
  error => {
    Promise.reject(error)
  }
)
export function uploadTemplate(params, data) {
  return service({
    url: '/api/mesTemplateConfig/upload',
    method: 'post',
    Headers: { 'Content-Type': 'multipart/form-data' },
    params,
    data
  })
}

